package com.example.orderservice.pojo.vo;

import com.example.baseserver.moudel.Page;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author 鱼凫
 * @version 1.0
 * Create by 2023/4/11 21:53
 */
@Data
@ApiModel("折扣实体")
public class DiscountsVO implements Serializable {
    @ApiModelProperty("主键")
    private String id;

    @ApiModelProperty("折扣名称")
    private String name;

    @ApiModelProperty("折扣描述")
    private String  description;

    @ApiModelProperty("折扣类型(0:全局个人折扣;1:酒店内个人折扣;)")
    private Integer type;

    @ApiModelProperty("折扣幅度")
    private Double discounts;

    @ApiModelProperty("折扣方式(0:立减;1:折扣)")
    private Integer discountsType;

    @ApiModelProperty("生效条件类型(0:满足xx天,1:满减;2:无门槛)")
    private Integer effectType;

    @ApiModelProperty("生效条件(天数)")
    private Double effectCondition;

    @ApiModelProperty("酒店id")
    private String hotelId;

    public String getHotelId() {
        return hotelId;
    }

    public void setHotelId(String hotelId) {
        this.hotelId = hotelId;
    }

    @ApiModelProperty("是否删除")
    private Integer isDeleted;

    @ApiModelProperty("创建人")
    private String createBy;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新人")
    private String updateBy;

    @ApiModelProperty("更新时间")
    private Date updateTime;

    @ApiModelProperty("有效期")
    private Date validityTime;

    @ApiModelProperty("互斥性(0:不互斥;1:与所有优惠券互斥;2与指定优惠券互斥)")
    private Integer exclusiveType;

    @ApiModelProperty("互斥范围")
    private String exclusiveRange;

    private String bookDay;

    private String orderFee;

    private String currentUse;

    private Boolean canUse;

    private String cantUseReason;

    private Boolean isGot;

    private Page page;

    @Override
    public String toString() {
        return "DiscountsVO{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", description='" + description + '\'' +
                ", type='" + type + '\'' +
                ", discounts='" + discounts + '\'' +
                ", effectType=" + effectType +
                ", effectCondition=" + effectCondition +
                ", hotelId='" + hotelId + '\'' +
                ", isDeleted=" + isDeleted +
                ", createBy='" + createBy + '\'' +
                ", createTime=" + createTime +
                ", updateBy='" + updateBy + '\'' +
                ", updateTime=" + updateTime +
                ", page=" + page +
                '}';
    }
}
